# Maintainer: Caleb Maclennan <caleb@alerque.com>
# Contributor: Evgeniy Alekseev <arcanis at archlinux dot org>
# Contributor: graysky
# Contributor: Tomasz Żok <tomasz dot zok at gmail dot com>

pkgname=pymol
_project=pymol-open-source
pkgver=2.5.0
pkgrel=7
pkgdesc='Molecular visualization system on an Open Source foundation'
arch=(loong64 x86_64)
url=https://pymol.org
license=(custom)
depends=(freetype2
         glew
         glm
         glut
         netcdf
         netcdf-cxx
         python-numpy
         tcsh)
makedepends=(desktop-file-utils
             gendesk
             mmtf-cpp
             msgpack-c
             python-{build,installer,wheel}
             python-setuptools)
optdepends=('python-pyqt5: Qt5 based UI')
_archive="$_project-$pkgver"
source=("https://github.com/schrodinger/pymol-open-source/archive/v$pkgver/$_archive.tar.gz"
        "$pkgname.png::https://c.fsdn.com/allura/p/pymol/icon")
sha256sums=('aa828bf5719bd9a14510118a93182a6e0cadc03a574ba1e327e1e9780a0e80b3'
            '0ea81faaf336becc669a193777d0dca55475d303d1236b57df25cf67ff7c2bcd')
changelog=ChangeLog

prepare() {
	# create desktop file
	gendesk -f -n \
			--pkgname "$pkgname" \
			--name="PyMOL Molecular Graphics System" \
			--pkgdesc "$pkgdesc" \
			--exec="$pkgname %F" \
			--mimetypes="chemical/x-pdb;chemical/pdby;chemical/x-mol2;chemical/x-mdl-molfile;chemical/x-mdl-sdfile;chemical/x-xyz;chemical/x-macromodel-input;chemical/x-vmd" \
			--categories="Science;Chemistry"
	cd "$_archive"
	# suppress non-zero exit code that breaks makepkg
	sed -i -e '/sys.exit/ s,2,0,' setup.py
	# setup script PEP 517 compatiblitiy is broken
	local site_packages=$(python -c "import site; print(site.getsitepackages()[0])")
	sed -i -E '/def (finalize_options|make_launch_script)/a \        self.install_libbase="'$site_packages'"' setup.py
}

build() {
	cd "$_archive"
	python -m build -wn
}

package() {
	install -Dm0644 -t "$pkgdir/usr/share/applications/" "$pkgname.desktop"
	install -Dm0644 -t "$pkgdir/usr/share/pixmaps/" "$pkgname.png"
	cd "$_archive"
	python -m installer -d "$pkgdir" dist/*.whl
	install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE
}
